package org.lanqiao.information;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface IInfoService {
    //根据创建时间排序
    List<Information> InforListByCreateTime(Integer sort1id,Integer sort2id);
    //根据访问数排序
    List<Information> InforListByReads(Integer sort1id,Integer sort2id);
    //根据点赞数排序
    List<Information> InforListByLike(Integer sort1id,Integer sort2id);
    //根据收藏数排序
    List<Information> InforListByCollect(Integer sort1id,Integer sort2id);
    //查询所有状态为0（待审核）的infolist
    List<Information> InfoListByChecking(Integer sort1id,Integer sort2id);
    //查询所有状态为3（被举报）的infolist
    List<Information> InfoListByReport(Integer sort1id,Integer sort2id);
    //根据条件查询
    List<Information> QueryByCondition( Map<String,Object> queryMap);
    //分页查询
    IPage<Information> InfoListPage(Integer sort1id,Integer sort2id,Integer pagenum, Integer pagesize);
    //分页条件查询
    IPage<Information> QueryConditionPage(Map<String,Object> queryMap,Integer pagenum, Integer pagesize);
    //增加information 能够增加的信息有sort1id sort2id title content infourl 其他默认提供
    Integer addInformation(Integer userid, Integer sort1id, Integer sort2id, String infotitle, String infocontent, String infourl);
    //修改information 能够修改的信息有sort1id sort2id title content 其他默认提供
    Integer updateInformation(Integer id, Integer sort1id, Integer sort2id, String infotitle, String infocontent, String infourl);
    //删除一个资源 根据资源id
    Integer deleteInfomation(Integer id);
    //根据id查询某个Information的具体内容
    Information selectOnes(Integer id);
    //获取点赞总数根据id
    Integer getLikeConunt(Integer id);
    //获取回复总数根据id
    Integer getResponse(Integer id);
    //获取访问量总数根据id
    Integer getReads(Integer id);
    //根据id使点赞数加一
    Integer addoneLikeCount(Integer id);
    //根据id使点赞数减一
    Integer deloneLikeCount(Integer id);
    //根据id使回复数数加一
    Integer addoneResponse(Integer id);
    //根据id使回复数数减一
    Integer deloneResponse(Integer id);
    //根据id使访问量数加一
    Integer addoneReads(Integer id);
    //修改资源状态
    Integer ChangeStatus(Integer id,Integer status);
    //根据id使收藏数加一
    Integer addoneCollectNum(Integer id);
    //根据id使收藏数减一
    Integer DeloneCollectNum(Integer id);
    //举报资源
    Integer InfoReport(Integer infoid,Integer tipuserid,String tipcontent);
    //举报成功（将状态改为4）
    Integer ReportSuccess(Integer id);
    //举报失败（将状态改回1）
    Integer ReportFail(Integer id);

}
